#ifndef PreparingDeviceSettingsEventArgs_h
#define PreparingDeviceSettingsEventArgs_h

#include <Defines.h>
#include <CSharpPropertyMethods.h>

// Riccsson includes.
#include <System/Object.h>
#include <System/EventArgs.h>

// Xna includes.
#include "GraphicsDeviceInformation.h"

namespace Riccsson
{
	namespace Xna
	{
		namespace Framework
		{
			class PreparingDeviceSettingsEventArgs
				: public Riccsson::System::EventArgs
			{
				PROP3(PreparingDeviceSettingsEventArgs, GC_PTR<GraphicsDeviceInformation>, graphicsDeviceInformation)

				private: GC_PTR<GraphicsDeviceInformation> _graphicsDeviceInformation;
				
				COPY_CONSTRUCTOR(PreparingDeviceSettingsEventArgs)
				{
					PROP3_INIT_COPY(PreparingDeviceSettingsEventArgs, GC_PTR<GraphicsDeviceInformation>, graphicsDeviceInformation);
				}

				public: PreparingDeviceSettingsEventArgs(GC_PTR<GraphicsDeviceInformation> graphicsDeviceInformation_)
					: PROP3_INIT(PreparingDeviceSettingsEventArgs, graphicsDeviceInformation)
				{
					_graphicsDeviceInformation = graphicsDeviceInformation_;
				}
		
				public: PROP3_GET(GC_PTR<GraphicsDeviceInformation>, graphicsDeviceInformation)
				{ 
					return _graphicsDeviceInformation; 
				}
				private: PROP3_SET(GC_PTR<GraphicsDeviceInformation>, graphicsDeviceInformation){throw;}
			};
		}
	}
}

#endif

